#include <iostream>
#include <stdio.h>
#include <cmath>
// 返回最大值
int max_of_three(int a,int b,int c)
{
    return a>b ? (a>c ? a : c) : (b>c ? b : c);
}

// 判断素数（除了1和它本身以为不再有其他因数，也就是只能被1和自己整除的数）
bool is_prime(int n)
{
    if(n <= 1)
    {
        return false;
    }
    // 只需要判断到sqrt(n)即可，因为如果n有一个因数大于sqrt(n)，那么它一定有一个因数小于sqrt(n)
    // sqrt返回一个数的平方根，因为只能被自己整除
    for(int i = 2; i <= sqrt(n); i++)
    {
        if(n % i == 0)
        {
            return false;
        }
    }
    return true;
}

// 数组逆序
void reverse_array(int arr[],int n)
{
    int temp[n];
    for(int i = 0; i < n; i++)
    {
        temp[i] = arr[i]; // 循环将所有内容放入temp
    }
    for(int i = 0; i < n; i++)
    {
        arr[i] = temp[n-1-i]; // 循环将temp中的内容逆序放入arr
    }

    // // int temp[5];
    // for(int i = 0; i < n/2; i++)
    // {
    //     int temp = arr[i];
    //     arr[i] = arr[n-1-i];
    //     arr[n-1-i] = temp;
    // }
}

// 求字符串长度
int str_len(char *str)
{
    int len = 0;
    while(str[len] != '\0')
    {
        len++;
    }
    return len;
}


int main()
{
    int a,b,c;
    // 求最大值
    // std::cin >> a >> b >> c;
    // std::cout << "最大值为:" << max_of_three(a,b,c) << std::endl;

    // 求素数
    // std::cin >> a;
    // std::cout << "是否为素数:" << (is_prime(a) ? "是" : "否") << std::endl;

    // 数组逆序
    int arr[5] = {1, 2, 3, 4, 5};
    reverse_array(arr, 5);
    for(int i = 0; i < 5; i++)
    {
        std::cout << arr[i] << " ";
    }
    std::cout << "\n";
    // 求字符串长度

    std::cout << "字符串长度为:" << str_len("hell1232o") << std::endl;


    return 0;
}